package com.huawang.mdesign.model.service.util.reqif;

import com.huawang.mdesign.model.service.util.reqif.ref.AttributeDefinitionStringRef;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import lombok.Getter;
import lombok.Setter;

/**
 * @author xdl
 * @since 2023-04-04
 */
@Getter
@Setter
@XStreamAlias(ReqIFConstants.ATTRIBUTE_VALUE_STRING)
public class AttributeValueString extends AbstractAttributeValueSimple {

    /**
     * The attribute value.
     */
    @XStreamAlias(ReqIFConstants.VALUE)
    @XStreamAsAttribute
    private String theValue;

    /**
     * Reference to the value definition.
     */
    @XStreamOmitField
    private AttributeDefinitionString definition;

    @XStreamAlias(ReqIFConstants.DEFINITION)
    private AttributeDefinitionStringRef definitionRef;

    /**
     * Back linkage of the owning attribute definition
     */
    @XStreamOmitField
    private AttributeDefinitionString owningDefinition;
}
